// import com.alibaba.druid.DbType;
// import com.alibaba.druid.sql.ast.SQLName;
// import com.alibaba.druid.sql.ast.SQLPartitionBy;
// import com.alibaba.druid.sql.ast.statement.*;
// import com.alibaba.druid.sql.dialect.oracle.parser.OracleSelectParser;
// import com.alibaba.druid.util.FnvHash;

// import java.util.List;
#pragma once
#include "SQLDDLParser.h"
class SQLCreateTableParser : virtual public SQLDDLParser
{
public:
  SQLCreateTableParser(string_ptr sql);

  SQLCreateTableParser(SQLExprParser_ptr exprParser);

  SQLCreateTableStatement_ptr parseCreateTable();

  SQLCreateTableStatement_ptr parseCreateTable(BOOL_ptr acceptCreate);
  
  void parseCreateTableRest(SQLCreateTableStatement_ptr stmt);

  SQLPartitionBy_ptr parsePartitionBy();

  SQLTableElement_ptr parseCreateTableSupplementalLogingProps();

  SQLCreateTableStatement_ptr newCreateStatement();
};
